Software applicant is followed by a process called software application testing. In this process, the application developed is tested to ensure that the application is working properly. During the testing phase, test cases are written and executed corresponding to each section of the application such that number of test cases varies according to size and complexity of the application. Normally, any application is launched in its beta phase such that the developers' team accepts feedbacks from users over a period of time, identifies bugs, makes required changes to fix the bugs, and releases next version of the application. Each of such versions is called a ‘build’.
When a bug is reported, the developer has to identify root cause of the bug to decide effective means to solve the problem. For large applications which involve lengthy and complex programming, it is difficult for the programmer to identify actual location of the defect. To solve this issue and help the developers identify location of the defect, a mechanism known as “defect positioning” is used.
Currently, multiple mechanisms are available to support defect positioning. However, these mechanisms require user assistance at various stages of processing such that accuracy of output depends on inputs provided by the user. Since quality of inputs vary based on expertise and skills of the user, accuracy of the outputs may also vary according to this; hence affecting quality of outputs sometimes.